The security of computing resources and associated data is of high importance in many contexts. As an example, organizations often utilize networks of computing devices to provide a robust set of services to their users. Networks often span multiple geographic boundaries and connect with other networks. An organization, for example, may support its operations using both internal networks of computing resources and computing resources managed by others. Computers of the organization may communicate with computers of other organizations to access and/or provide data while using services of another organization. In many instances, organizations configure and operate remote networks using hardware managed by other organizations, thereby reducing infrastructure costs and achieving other advantages. With such configurations of computing resources, ensuring that access to the resources and the data they hold is secure can be challenging, especially as the size and complexity of such configurations grow. One of the endemic problems in storage encryption is that the amount of data stored can be quite large, and can require storage over a long period of time. Due to the length of time the data is stored, it is important that security is managed properly over that time. Any mistake in security management can be difficult to correct due to the sheer volume of data that is stored. In many instances one or more cryptographic keys can be used to encrypt the data in order to attempt to prevent unauthorized access to the data by anyone not having a copy of the relevant key(s). Unauthorized users, devices, or applications can obtain or intercept copies of these keys, however, which can potentially expose the data outside its intended audience. The need for components outside the storage devices to have access to these keys to perform various operations increases the chances that these keys will be obtained by unintended parties.